package com.lanxin.xx.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lanxin.xx.entity.XxDuanxiaoxi;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lanxin.xx.vo.Duanxiaoxi;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author zyq
 * @since 2025-07-26
 */
public interface XxDuanxiaoxiMapper extends BaseMapper<XxDuanxiaoxi> {

    //列表收件箱+分页+收件人是自己才能查看
    Page<Duanxiaoxi> listDuanxiaoxi(
            @Param("page") Page<Duanxiaoxi> page,
            @Param("ew") QueryWrapper<Duanxiaoxi> wrapper
    );
    //根据id查看短消息详情
    public Duanxiaoxi getDuanxiaoxiById(Integer oid);

    //列表已发消息+分页+全部的信息
    public Page<XxDuanxiaoxi> allMsg(Page<XxDuanxiaoxi> page, @Param(Constants.WRAPPER) Wrapper<XxDuanxiaoxi> queryWrapper);

    /**
     * 批量查询消息详情
     */
    public List<Duanxiaoxi> getDuanxiaoxiByIds(@Param("msgIds") List<Integer> msgIds);

    /*
     *获取指定用户的最近N条短消息
     */
    public List<Integer> getRecentMsgs( @Param("empOid") Integer empOid,  // 指定参数名为empOid
                                        @Param("limit") int limit);        // 指定参数名为limit
}